package org.ehe.business.project.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.ehe.business.project.domain.ProjectEntity;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author :zhangnn
 * @className :ProjectCreateRequest
 * @description: TODO
 * @date 2025-07-17 16:36:54
 */
@Data
public class ProjectCreateRequest {

    private String id;
    /**
     * 父级项目ID
     */
    private Long parentId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 项目类型
     */
    private String projectType;

    /**
     * 项目难度
     */
    private String difficultyId;
    /**
     * 项目名称
     */
    private String difficultyName;

    /**
     * 项目优先级
     */
    private String priority;

    private String status;

    /**
     *   PENDING_SUBMIT(0,"待提交"),
     *     SUBMITTED(1,"已提交"),
     *     REJECTED(9,"已拒绝"),
     *     PROCESS(10, "审核中"), // 审核中
     *     APPROVE(20, "已审核"); // 审核通过
     */
    private String approveStatus;

    /**
     * 项目级别
     */
    private String projectLevel;

    /**
     * 项目阶段
     */
    private String projectStage;

    /**
     * 项目描述
     */
    private String description;

    /**
     * 计划开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime plannedStartDate;

    /**
     * 计划结束日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime plannedEndDate;

    /**
     * 实际开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime actualStartDate;

    /**
     * 实际结束日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime actualEndDate;

    /**
     * 指定工程师
     */
    private String assignedEngineer;

    /**
     * 工程师级别
     */
    private String engineerLevel;

    /**
     * 附件文件信息
     */
    private String attachmentFileIds;

//    /**
//     * 设计图纸Ids
//     */
//    private String drawIds;
}
